<?php
/**
 * 基础使用示例
 */

require_once __DIR__ . '/../vendor/autoload.php';

use LicenseSDK\LicenseValidator;
use LicenseSDK\Exceptions\LicenseException;

// 1. 初始化SDK
try {
    LicenseValidator::init([
        // API服务器地址
        'api_url' => 'https://license.yourdomain.com/api',
        
        // 产品代码
        'product_code' => 'YOUR_PRODUCT_CODE',
        
        // 授权码（从用户处获取）
        'license_key' => 'XXXXX-XXXXX-XXXXX-XXXXX-XXXXX',
        
        // 授权文件存储路径
        'license_file' => __DIR__ . '/license.dat',
        
        // 是否绑定机器码
        'machine_code_bind' => true,
        
        // 是否检查域名
        'domain_check' => true,
        
        // 在线验证间隔（秒），默认24小时
        'validate_interval' => 86400,
        
        // 离线验证天数
        'offline_days' => 7,
        
        // 请求超时时间（秒）
        'timeout' => 10,
        
        // 调试模式
        'debug' => false,
    ]);
    
    echo "SDK初始化成功\n";
    
} catch (LicenseException $e) {
    die("SDK初始化失败: " . $e->getMessage() . "\n");
}

// 2. 验证授权
try {
    $result = LicenseValidator::check();
    
    echo "授权验证成功\n";
    echo "授权信息:\n";
    print_r($result['data']);
    
} catch (LicenseException $e) {
    die("授权验证失败: " . $e->getMessage() . "\n");
}

// 3. 检查功能权限
if (LicenseValidator::hasFeature('advanced_report')) {
    echo "拥有高级报表功能\n";
} else {
    echo "没有高级报表功能\n";
}

// 4. 获取授权信息
$info = LicenseValidator::getLicenseInfo();
if ($info) {
    echo "授权级别: " . $info['license_level'] . "\n";
    echo "剩余天数: " . LicenseValidator::getRemainingDays() . " 天\n";
}

// 5. 获取调试信息（调试模式下使用）
if (false) {
    LicenseValidator::setDebug(true);
    $debugInfo = LicenseValidator::getDebugInfo();
    print_r($debugInfo);
}

